/***
 * 地图瓦片枚举
 */
export enum TILE_TYPE_ENUM {
  WALL_ROW = 'WALL_ROW',
  WALL_COLUMN = 'WALL_COLUMN',
  WALL_LEFT_TOP = 'WALL_LEFT_TOP',
  WALL_RIGHT_TOP = 'WALL_RIGHT_TOP',
  WALL_LEFT_BOTTOM = 'WALL_LEFT_BOTTOM',
  WALL_RIGHT_BOTTOM = 'WALL_RIGHT_BOTTOM',
  CLIFF_LEFT = 'CLIFF_ROW_START',
  CLIFF_CENTER = 'CLIFF_ROW_CENTER',
  CLIFF_RIGHT = 'CLIFF_ROW_END',
  FLOOR = 'FLOOR',
}

/**
 * 事件枚举
 */
export enum EVENT_ENUM {
  NEXT_LEVEL = 'NEXT_LEVEL',
  PLAY_CTRL = 'PLAY_CTRL',
  PLAYER_MOVE_END = 'PLAYER_MOVE_END', //人物移动结束->更新NPC朝向
  PLAYER_BORN = 'PLAYER_BORN', //人物初始化完成->更新NPC朝向
  ATTACK_PLAYER = 'ATTACK_PLAYER', //人物去世
  ATTACK_ENEMY = 'ATTACK_ENEMY', //NPC去世
  DOOR_OPEN = 'DOOR_OPEN', //门打开
  SHOW_SMOKE = 'SHOW_SMOKE', //烟雾
  SCREEN_SHAKE = 'SCREEN_SHAKE', //震动
  RECORD_STEP = 'RECORD_STEP', //保存步骤
  REVOKE_STEP = 'REVOKE_STEP', //撤回步骤
  RESTART_LEVEL = 'RESTART_LEVEL', //关卡重新开始
  QUIT_BATTLE = 'QUIT_BATTLE', //退出
}

/**
 * 人物移动方向枚举
 */

export enum CONTROLLER_ENUM {
  TOP = 'TOP',
  LEFT = 'LEFT',
  RIGHT = 'RIGHT',
  BOTTOM = 'BOTTOM',
  TURN_LEFT = 'TURN_LEFT',
  TURN_RIGHT = 'TURN_RIGHT',
}

/**
 * 状态机枚举
 */
export enum FSM_PARAMS_TYPE_ENUM {
  NUMBER = 'NUMBER',
  TRIGGER = 'TRIGGER',
}

/**
 * 动画参数
 */

export enum PARAMS_NAME_ENUM {
  IDLE = 'IDLE',
  TURN_LEFT = 'TURN_LEFT', //左转
  TURN_RIGHT = 'TURN_RIGHT', //右转
  BLOCK_FRONT = 'BLOCK_FRONT', //向前撞
  BLOCK_TURN_LEFT = 'BLOCK_TURN_LEFT', //向左撞
  DIRECTION = 'DIRECTION',
  ATTACK = 'ATTACK', //攻击
  DEATH = 'DEATH', //死亡在地面
  AIRDEATH = 'AIRDEATH', //死亡在空中
  SPIKES_CUR_COUNT = 'SPIKES_CUR_COUNT', //地刺当前点数
  SPIKES_TOTAL_COUNT = 'SPIKES_TOTAL_COUNT', //地刺总点数
}

/**
 * 当前方向状态枚举
 */
export enum DIRECTION_ENUM {
  TOP = 'TOP',
  LEFT = 'LEFT',
  RIGHT = 'RIGHT',
  BOTTOM = 'BOTTOM',
}

/**
 * 当前人物状态
 */
export enum ENTITY_STATE_ENUM {
  IDLE = 'IDLE',
  TURN_LEFT = 'TURN_LEFT',
  TURN_RIGHT = 'TURN_RIGHT',
  BLOCK_FRONT = 'BLOCK_FRONT', //向前撞
  BLOCK_TURN_LEFT = 'BLOCK_TURN_LEFT',
  ATTACK = 'ATTACK', //攻击
  DEATH = 'DEATH', //死亡在地面
  AIRDEATH = 'AIRDEATH', //死亡在空中
}

/**
 * 数字枚举映射
 */
export enum DIRECTION_ORDER_ENUM {
  TOP = 0,
  LEFT = 1,
  RIGHT = 2,
  BOTTOM = 3,
}

/**
 * 实体类型
 */
export enum ENTITY_TYPE_ENUM {
  PLAYER = 'PLAYER',
  SKELETON_WOODEN = 'SKELETON_WOODEN', //NPC1
  SKELETON_IRON = 'SKELETON_IRON', //NPC2
  DOOR = 'DOOR', //门
  BURST = 'BURST', //地裂
  SPIKES_ONE = 'SPIKES_ONE', //地刺点数1
  SPIKES_TWO = 'SPIKES_TWO', //地刺点数2
  SPIKES_THREE = 'SPIKES_THREE', //地刺点数3
  SPIKES_FOUR = 'SPIKES_FOUR', //地刺点数4
  SMOKE = 'SMOKE', //烟雾
}
// 地刺
export enum SPIKES_TYPE_MAP_TOTAL_COUNT_ENUM {
  SPIKES_ONE = 2,
  SPIKES_TWO = 3,
  SPIKES_THREE = 4,
  SPIKES_FOUR = 5,
}
export enum SPIKE_COUNT_ENUM {
  ZERO = 'ZERO',
  ONE = 'ONE',
  TWO = 'TWO',
  THREE = 'THREE',
  FOUR = 'FOUR',
  FIVE = 'FIVE',
}

export enum SPIKES_COUNT_MAP_NUMBER_ENUM {
  ZERO = 0,
  ONE = 1,
  TWO = 2,
  THREE = 3,
  FOUR = 4,
  FIVE = 5,
}

/**
 * 碰撞方向
 */
export enum SHAKE_TYPE_ENUM {
  TOP = 'TOP',
  LEFT = 'LEFT',
  RIGHT = 'RIGHT',
  BOTTOM = 'BOTTOM',
}

/**
 * 淡入淡出
 */
export enum FADE_STATE_ENUM {
  IDLE = 'IDLE',
  FADE_IN = 'FADE_IN',
  FADE_OUT = 'FADE_OUT',
}

/**
 * 场景切换
 */
export enum SCENE_ENUM {
  Loading = 'Loading',
  Start = 'Start',
  Battle = 'Battle',
}
